package com.ruoyi.laiwu.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;

import java.io.Serializable;

/**
 * 案件主视图对象 um_event_lwq
 *
 * @author ruoyi
 * @date 2024-01-24
 */
@Data
@ExcelIgnoreUnannotated
public class UmEventLwqVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ExcelProperty(value = "主键id")
    private Long id;

    /**
     * 立案时间
     */
    @ExcelProperty(value = "立案时间")
    private Date regTime;

    /**
     * 结案时间
     */
    @ExcelProperty(value = "结案时间")
    private Date closeTime;

    /**
     * 受理号
     */
    @ExcelProperty(value = "受理号")
    private Long acceptId;

    /**
     * 案件号
     */
    @ExcelProperty(value = "案件号")
    private String caseCode;

    /**
     * 案件来源（取字典表）
     */
    @ExcelProperty(value = "案件来源", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "取=字典表")
    private String caseSource;

    /**
     * 案件类别（选分级分类id）
     */
    @ExcelProperty(value = "案件类别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "选=分级分类id")
    private String caseClassId;

    /**
     * 问题类别名称
     */
    @ExcelProperty(value = "问题类别名称")
    private String caseClassName;

    /**
     * 立案标准ID（立案标准和结案标准拼接）
     */
    @ExcelProperty(value = "立案标准ID", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "立=案标准和结案标准拼接")
    private Long standardId;

    /**
     * 立案标准
     */
    @ExcelProperty(value = "立案标准")
    private String regCaseStandard;

    /**
     * 结案标准
     */
    @ExcelProperty(value = "结案标准")
    private String closeCaseStandard;

    /**
     * 处理时限
     */
    @ExcelProperty(value = "处理时限")
    private BigDecimal processLimit;

    /**
     * 时限类型（0：小时 1：工作日）
     */
    @ExcelProperty(value = "时限类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=：小时,1=：工作日")
    private String limitType;

    /**
     * 核实时限（默认单位小时 默认值0）
     */
    @ExcelProperty(value = "核实时限", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "默=认单位小时,默=认值0")
    private BigDecimal verifyLimit;

    /**
     * 核查时限（默认单位小时 默认值0）
     */
    @ExcelProperty(value = "核查时限", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "默=认单位小时,默=认值0")
    private BigDecimal inspectLimit;

    /**
     * 案件标题
     */
    @ExcelProperty(value = "案件标题")
    private String caseTitle;

    /**
     * 事发位置
     */
    @ExcelProperty(value = "事发位置")
    private String position;

    /**
     * 案件描述
     */
    @ExcelProperty(value = "案件描述")
    private String questionDesc;

    /**
     * 所属区域
     */
    @ExcelProperty(value = "所属区域")
    private String areaCode;

    /**
     * 所属区域名称
     */
    @ExcelProperty(value = "所属区域名称")
    private String areaName;

    /**
     * 所在区域
     */
    @ExcelProperty(value = "所在区域")
    private Long districtId;

    /**
     * 所在街道
     */
    @ExcelProperty(value = "所在街道")
    private Long streetId;

    /**
     * GEO X轴坐标
     */
    @ExcelProperty(value = "GEO X轴坐标")
    private BigDecimal geoX;

    /**
     * GEO Y轴坐标
     */
    @ExcelProperty(value = "GEO Y轴坐标")
    private BigDecimal geoY;

    /**
     * 举报人
     */
    @ExcelProperty(value = "举报人")
    private String reporter;

    /**
     * 是否需要回复
     */
    @ExcelProperty(value = "是否需要回复")
    private String isReceipt;

    /**
     * 回复方式
     */
    @ExcelProperty(value = "回复方式")
    private String replayWay;

    /**
     * 回复号码或者邮件等
     */
    @ExcelProperty(value = "回复号码或者邮件等")
    private String replyWay;

    /**
     * 来电号码
     */
    @ExcelProperty(value = "来电号码")
    private String telNum;

    /**
     * 上报时间
     */
    @ExcelProperty(value = "上报时间")
    private Date reportTime;

    /**
     * 案件状态，默认是'0'(-1作废,0 未结案,1 已结案 2已立案  -5结束，不予结案)
     */
    @ExcelProperty(value = "案件状态，默认是'0'(-1作废,0 未结案,1 已结案 2已立案  -5结束，不予结案)")
    private String caseStatus;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 关键字
     */
    @ExcelProperty(value = "关键字")
    private String keyWord;

    /**
     * 案件等级(0：一般；1：重要；2：重大)
     */
    @ExcelProperty(value = "案件等级(0：一般；1：重要；2：重大)")
    private String caseLevel;

    /**
     * 最后一次处置单位ID
     */
    @ExcelProperty(value = "最后一次处置单位ID")
    private Long lastProdeptId;

    /**
     * 最后一次处置单位意见
     */
    @ExcelProperty(value = "最后一次处置单位意见")
    private String lastProdeptOpinion;

    /**
     * 处置核查状态（0未读 1已读 2处置中 3核查通过 4核查不通过   默认 0）
     */
    @ExcelProperty(value = "处置核查状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=未读,1=已读,2=处置中,3=核查通过,4=核查不通过,默=认,0=")
    private String prodeptStatus;

    /**
     * 案件结束时间
     */
    @ExcelProperty(value = "案件结束时间")
    private Date endTime;

    /**
     * 受理对象(是否市级立案)：2、市级，3、区级，4、街镇
     */
    @ExcelProperty(value = "受理对象(是否市级立案)：2、市级，3、区级，4、街镇")
    private String reciveObject;

    /**
     * 数据状态（0：删除  ； 1 正常）默认1
     */
    @ExcelProperty(value = "数据状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=：删除,；=,1=,正=常")
    private String dbStatus;

    /**
     * 创建用户id
     */
    @ExcelProperty(value = "创建用户id")
    private Long createId;

    /**
     * 是否必须上传附件（0否 1 是）
     */
    @ExcelProperty(value = "是否必须上传附件", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=否,1=,是=")
    private String isAttach;

    /**
     * 道路名称
     */
    @ExcelProperty(value = "道路名称")
    private String roadName;

    /**
     * 案件是否合格（0 否，1 是）
     */
    @ExcelProperty(value = "案件是否合格", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=,否=，1,是=")
    private String isEnable;

    /**
     * 是否为区转市（0 否，1 是）
     */
    @ExcelProperty(value = "是否为区转市", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=,否=，1,是=")
    private String isDistrictTransfer;

    /**
     * 是否为市派遣（0 否，1 是）
     */
    @ExcelProperty(value = "是否为市派遣", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=,否=，1,是=")
    private String isCitySend;

    /**
     * 作废原因
     */
    @ExcelProperty(value = "作废原因")
    private String invalidReason;

    /**
     * 回退原因
     */
    @ExcelProperty(value = "回退原因")
    private String backReason;


}
